package com.itheima.mp.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.itheima.mp.domain.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

public interface UserMapper extends BaseMapper<User> {

    void saveUser(User user);

//    那么 ew.customSqlSegment() 将会被替换为类似 WHERE id = ? 的条件部分。
//    ew.customSqlSegment 主要配合 MyBatis-Plus 的 Wrapper 使用。
//它的作用是在 XML 中动态添加查询或更新条件。
//需要注意防止 SQL 注入攻击，慎用 ${} 语法。
    void updateBalance(@Param("ew") QueryWrapper<User> www,@Param("amount") int amount);


    @Update("update user01 set balance = balance - #{money} where id = #{id}")
    void deductionBalance(@Param("")Long id,@Param("money") Integer money);
//
//    void deleteUser(Long id);
//
//    void updateUser(User user);
//
//    User queryUserById(@Param("id") Long id);
//
//    List<User> queryUserByIds(@Param("ids") List<Long> ids);
}
